草庐IT

c++ - XML Schema 到 C++ 类

全部标签

c - SetWindowLongPtr 返回 ERROR_ACCESS_DENIED

我还在为钩子(Hook)而苦苦挣扎。我的目标是:在notepad.exe中设置一个钩子(Hook)对其进行子类化(我的最终目标是将Edit类子类化并在我自己的窗口中显示内容)免责声明:我知道有更简单的方法可以从记事本中获取文本/内容,但这是我学习C、winapi、子类化和Hook的一种方式。我的问题是SetWindowLongPtr始终返回ERROR_ACCESS_DENIED错误(代码5)。2013年5月22日:已修复!问题是SetWindowLongPtr在错误的地方。它必须在GetMsgProc函数内。问题变得有点冗长和困惑,所以我重新写了问题(更新了代码)现在的问题是,当目标是

c++ - native CheckedListBox?

在.NET领域,有非常有用的System.Windows.Forms.CheckedListBox类。WindowsCommonControls中的等价物是什么?(如果有的话) 最佳答案 将ListView变成带有复选框的View。如果您希望它类似于ListBox,请仅使用1列。ListView_SetExtendedListViewStyle(handle,LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT); 关于c++-nativeCheckedListB

c - 列出 ETW 提供程序的事件类

我想实现一个ETWC中的消费者用于来自Microsoft-Windows-TCPIP提供程序的事件。但是,我找不到此提供程序生成的事件类型。我已经做了一些类似的工作来使用来自Microsoft-Windows-Kernel-*的事件(参见NTKernelLogger),但是从该提供商发送的事件体面记录在MSDN上(参见关于EnableFlags的文档)。所以我想真正的问题是:如何将ETW提供程序链接到它生成的事件类型(我们在这里谈论的是C结构),反之亦然(如果可行的话)?谢谢!编辑0:我不介意使用其他技术来查找有关某个类的详细信息。例如,获取Registry类(对于NT内核记录器)的详

c++ - 如何跟踪进程创建的 ActiveX 控件?

我想跟踪由某些进程创建的ActiveX控件。为了简化问题,我首先只想监视当前进程。我想这样做是为了检查是否有任何ActiveX控件支持IOleWindow如果是,给定的HWND是否属于该ActiveX控件(以便我可以将HWND映射到ActiveX控件)。有人有这方面的经验吗?我的第一个想法是使用APIHook来监控CoCreateInstance调用,但我读到这并非在所有情况下都有效。一些谷歌研究显示http://www.pocketsoap.com/sf/activation.html其中谈到安装自定义类工厂-这将如何工作? 最佳答案

c++ - 没有 DLL 的 JPEG 压缩

我想在Windows上将原始RGB图像数据(如有必要,我可以添加BMPheader)转换为JPEG。没有DLL可以这样做吗?我尝试静态编译IJGjpeglib,但我有VC++9,它只适用于VC++10 最佳答案 使用GDI+将图像保存到文件中。例如,参见http://msdn.microsoft.com/en-us/library/ms535407(VS.85).aspx有关如何保存到文件的信息。指定JPEG编码器。要将图像加载到Image类中,可以使用Bitmap类(继承自Image)。有几种方法可用:http://msdn.mi

c++ - 如何在混合语言应用程序中创建堆?

我们有一个用VisualBasic6.0编写的前端,它调用几个用混合C/C++编写的后端DLL。问题是每个DLL似乎都有自己的堆,但其中一个堆不够大。当我们分配了足够的内存时,堆就会与程序堆栈发生冲突。每个DLL都完全用C编写,除了基本的DLL包装器是用C++编写的。每个DLL都有一些入口点。每个入口点立即调用一个C例程。我们想增加DLL中堆的大小,但一直无法弄清楚该怎么做。我搜索了指导并找到了这些MSDN文章:http://msdn.microsoft.com/en-us/library/hh405351(v=VS.85).aspx这些文章很有趣,但提供的信息相互矛盾。在我们的问题中

c++ - ms-extensions 标志对 gcc 有什么作用?

GCC有一个标志-fms-extensions。这个标志到底是做什么的?为什么它有时默认打开,它为什么存在? 最佳答案 根据gcc9.1.0源代码(greppedforflag_ms_extensions),效果是:(C)​​允许Microsoft版本的匿名union和结构。这包括对C11anonymousunionsandstructs的支持以及Microsoft-specificflavours,包括完全省略大括号成员列表,以及将成员放置在父namespace中,即使结构/union具有标识符也是如此。(C++)允许类成员与其类

c - Windows 上带有 DLL 的动态模块

我正在用C编写一个应用程序,它可以在运行时通过模块/共享对象/DLL进行扩展。这些模块可能会使用现有程序的API,但也可能会提供新功能供以后加载的模块使用,因此模块之间存在相互依赖的可能性。我目前在Linux下的做法是让每个模块都定义一个depends()函数,该函数返回它所依赖的其他模块名称的列表。这样,我就可以自行编译和链接每个模块,使用dlopen()和RTLD_LAZY加载模块,首先解决其依赖关系,然后使用RTLD_GLOBAL完全加载它。这工作得很好并且完全符合我的要求。它还允许我用不同版本替换一个模块,而无需重新编译依赖它的所有其他模块。将其移植到Windows时会出现实际

c - 等待文件解锁 - Windows

我正在为大学编写一个TFTP服务器程序,它需要独占访问它打开以供阅读的文件。因此,可以配置为如果一个文件被另一个进程锁定,它会等待文件解锁。在Win32上有什么方法可以等待文件解锁而不先为它创建句柄吗?我问的原因是,如果另一个进程调用CreateFile()使用与我的进程使用的不兼容的dwShareMode,我什至无法使用LockFileEx()获得用于等待锁定的文件句柄.提前感谢您的帮助! 最佳答案 如果您查看StackOverflow问题WhatWin32APIcanbeusedtofindtheprocessthathasag

c - 超时后如何关闭上下文菜单?

我需要让上下文菜单(当前使用TrackPopupMenu创建)在一段时间不活动后自动关闭。我试图搜索但只找到相反的东西(如何在超时后激活弹出窗口)或特定应用程序的专门内容。我发现唯一接近的事情是枚举桌面的子项,直到找到类名为#32768的窗口——这将是菜单——然后关闭它。我希望有更好、更清晰的方法。有什么建议吗? 最佳答案 发送WM_CANCELMODE向托管上下文菜单的父窗口发送消息。 关于c-超时后如何关闭上下文菜单?,我们在StackOverflow上找到一个类似的问题: